The present invention relates generally to data processing environments and, more particularly, to systems for accessing shared information and other resources, such as in a multi-user environment.
The first personal computers (PCs) debuted in a corporate world which was dominated by mainframes and mini-computers--computers which handled large, centralized databases for the most part and ran little or no personal productivity software. As a result, these early PCs went largely unused. With the advent of electronic spreadsheets and other personal productivity software (e.g., wordprocessors), however, individual workers were soon empowered to handle their own data processing needs, thus the PC revolution was born.
Early on in the use of PCs, much emphasis was given to autonomy--removing users from the centralized control which was the hallmark of mainframes and mini-computers. Although this increased freedom led to increased productivity gains, users soon realized that they needed services which had been provided by the large centralized systems: shared printers, electronic mail, shared databases, and easy data transfer.
A solution to this problem was forthcoming in the form of Local Area Networks (LANs). A LAN typically comprises several computers connected together as a group. At least one of the computers functions as a "server," providing network services to "clients" (other computers) connected to the network. In this manner, valuable information and resources, including programs, information tables, memory, disk space, printers, and the like, may be shared by several users.
Early LAN systems were patchwork, unreliable systems that offered little more than printer and file sharing. These systems provided no built-in messaging facilities, no database or communications services, or the like. Moreover, PC operating system software (e.g., MS-DOS) took little or no advantage of LANs. Thus throughout most of the past decade, LANs essentially functioned as large storage and printer sharing devices; their true power had yet to be exploited.
Recently, LAN vendors, such as Novell, standardized on a series of protocols and APIs (Application Programming Interfaces) which allowed software vendors to make use of the LAN operating system itself. Novell, for instance, created NetWare.RTM. Loadable Modules (NLMs) for Netware 386; Microsoft created DLLs for LAN managers. By 1990, Novell's Message Handling System (MHS) protocol was in wide use. Shortly thereafter, Microsoft published its Messaging API (MAPI) specification. With evolving LAN technology, there was a renewed impetus to get corporate data to the decision makers quickly. The way that corporations created and used information began to change.
The most popular approach employed in this new corporate data processing environment is the "client/server" model. Using a client/server database system, for instance, an end user at a personal computer (client) submits a query to the database server, either directly by using the database or indirectly by using an application. The query is sent over the network to the database server, which processes the query and returns the result. Thus, the client/server model has been recognized as a fast way for deploying database applications in the corporate world. Although client/server database applications have finally begun to exploit LAN messaging services to deliver enhanced productivity, these benefits were not quickly extended to other personal productivity software--namely, spreadsheets and wordprocessors.
As Local Area Networks proliferated, it was recognized that the connectivity that LANs provided to client/server databases could be extended to other applications. The basic approach is that of a "workgroup." The premise of workgroup computing is that by imposing a structure--usually a logical organization consisting of rules-based automatic data distribution--on network-connected PCs, a group of people working together can achieve more than if each individual set out on his or her own and used the network only when necessary.
Currently-available workgroup products are server-based, network-specific implementations. These workgroup products impose a rigid structure on those who use them and do not yield results unless entire organizations commit to them completely. Every user in a workgroup must commit to using the workgroup software in a particular fashion before productivity gains for the group may be realized.
Dynamic working relationships within organizations are constantly forming and dissolving as tasks are completed and organizational objectives evolve, however. What is needed is a workgroup solution for enabling a workgroup, without restricting how each individual user completes his or her work, or interfering in how workgroup members connect to each other. The present invention fulfills this and other needs.